package pseudoAssemblerCompiler.twopassassembler.model.codeoperationtable;

import pseudoAssemblerCompiler.twopassassembler.model.entities.OperationCode;

import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: Администратор
 * Date: 15.04.12
 * Time: 19:48
 * To change this template use File | Settings | File Templates.
 */
public interface ICodeOperationTableModel {

    /**
     * Возвращает содержимое таблицы кодов операции
     * @return коды операций
     */
    public Map<String, OperationCode> getCodeOperationTableElements();

    public void setCodeOperationTable(Map<String, OperationCode> operationCodeMap);

    /**
     * Добавить команду или директиву в ТКО
     * @param operationCode команда
     * @return true - если команда успешно добавлена
     */
    public void addCodeOperation(String key, OperationCode operationCode);

    /**
     * Убрать команду или директиву из ТКО
     * @param key команда
     * @return true - если команда успешно убрана
     */
    public void removeCodeOperation(String key);

}
